package com.cjq.invite.service.impl;

import com.cjq.common.domain.Firm;
import com.cjq.common.domain.Invite;
import com.cjq.common.domain.request.InviteReq;
import com.cjq.common.domain.response.InviteRes;
import com.cjq.common.result.PageResult;
import com.cjq.common.result.Result;
import com.cjq.invite.mapper.InviteMapper;
import com.cjq.invite.service.InviteService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class InviteServiceImpl implements InviteService {
    @Autowired
    private InviteMapper inviteMapper;

//    @Override
//    public List<InviteRes> inviteList(InviteReq inviteReq) {

//        return inviteMapper.inviteList(inviteReq);

//        PageHelper.startPage(inviteReq.getPageNum(),inviteReq.getPageSize());
//        List<InviteRes> inviteResList = inviteService.inviteList(inviteReq);
//        PageInfo<InviteRes> info = new PageInfo<>(inviteResList);
//        Result<PageResult<InviteRes>> result = PageResult.toResult(info.getTotal(), inviteResList);
//        return result;

//        return null;
//    }

    @Override
    public Result<PageResult<InviteRes>> inviteList(InviteReq inviteReq) {
        PageHelper.startPage(inviteReq.getPageNum(),inviteReq.getPageSize());
        List<InviteRes> inviteResList = inviteMapper.inviteList(inviteReq);
        PageInfo<InviteRes> info = new PageInfo<>(inviteResList);
        Result<PageResult<InviteRes>> result = PageResult.toResult(info.getTotal(), inviteResList);
        return result;
    }

    @Override
    public Result<List<Firm>> firmList() {
        List<Firm> firmList = inviteMapper.firmList();
        return Result.success(firmList);
    }

    @Override
    public void insert(Invite invite) {
         inviteMapper.insert(invite);
    }

    @Override
    public void update(Invite invite) {
        inviteMapper.update(invite);
    }

    @Override
    public void delete(String inviteId) {
        inviteMapper.delete(inviteId);
    }


}
